package com.atguigu.gmall.realtime.dws.util;

import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;

import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;

/**
 * UDF   标量函数     1 -> 1
 * UDTF  表值函数     N -> 1
 * UDAF  聚合函数     1 -> N
 * UDTAF 表值聚合函数  N -> N
 * 分词工具类
 */
public class KeyWordUtil {
    public static List<String> analyze(String text){
        /**
         * 第一个参数 : 字符输入流
         * 第二个参数 : 是否智能分词
         */
        List<String> keyWordList = new ArrayList<>();
        StringReader reader = new StringReader(text);
        IKSegmenter ik = new IKSegmenter(reader, true);
        try {
            Lexeme lexeme = null;

            while ((lexeme = ik.next()) != null){
                String keyWord = lexeme.getLexemeText();
                keyWordList.add(keyWord);
                //lexeme = ik.next();
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        return keyWordList;
    }

    public static void main(String[] args) {
        System.out.println(analyze("小米手机京东自营5g联通电信移动"));
    }
}
